package com.partsoft.dits;

import java.util.Set;

/**
 * 描述符依赖管理器
 */
public interface DescriptorDepends<E extends EdgeDescriptor> {
	
	/**
	 * 依赖的描述符类集合
	 */
	Set<Class<? extends EdgeDescriptor>> getDependClasses();

	/**
	 * 是否依赖指定的边界描述符
	 * @param descriptor  边界描述符
	 * @return true表示依赖
	 */
	boolean dependDescriptor(EdgeDescriptor descriptor);
	
	/**
	 * 根据依赖的边界描述符获得数据描述符
	 * @param descriptor 边界描述符
	 * @return 返回描述符数据
	 */
	E[] getDescriptorByDepend(EdgeDescriptor descriptor);
	
}
